home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / CBGRX100.ARJ / LAYOUT.C < prev    next >
Text File  |  1992-04-10  |  2KB  |  63 lines

  1. /** 
  2.  ** LAYOUT.C 
  3.  **
  4.  **  Copyright (C) 1992, Csaba Biegl
  5.  **    820 Stirrup Dr, Nashville, TN, 37221
  6.  **    csaba@vuse.vanderbilt.edu
  7.  **
  8.  **  This file is distributed under the terms listed in the document
  9.  **  "copying.cb", available from the author at the address above.
  10.  **  A copy of "copying.cb" should accompany this file; if not, a copy
  11.  **  should be available from where this file was obtained.  This file
  12.  **  may not be distributed without a verbatim copy of "copying.cb".
  13.  **  You should also have received a copy of the GNU General Public
  14.  **  License along with this program (it is in the file "copying");
  15.  **  if not, write to the Free Software Foundation, Inc., 675 Mass Ave,
  16.  **  Cambridge, MA 02139, USA.
  17.  **
  18.  **  This program is distributed in the hope that it will be useful,
  19.  **  but WITHOUT ANY WARRANTY; without even the implied warranty of
  20.  **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  21.  **  GNU General Public License for more details.
  22.  **/
  23.  
  24. #include "grx.h"
  25. #include "libgrx.h"
  26.  
  27. int GrLineOffset(int width)
  28. {
  29.     if(width > 0) switch(_GrNumColors) {
  30. #if (GRXPLANES & 16)
  31.       case 32768:
  32.         return(width << 1);
  33. #endif
  34.       case 256:
  35.         if(_GrDriverIndex == MODE_X_DRIVER)
  36.         return((width + 3) >> 2);
  37.         return(width);
  38.       case 16:
  39.       case 2:
  40.         return((width + 7) >> 3);
  41.     }
  42.     return(0);
  43. }
  44.  
  45. long GrPlaneSize(int w,int h)
  46. {
  47.     return((h > 0) ? ((long)GrLineOffset(w) * (long)h) : 0L);
  48. }
  49.  
  50. long GrContextSize(int w,int h)
  51. {
  52.     switch(_GrNumColors) {
  53.       case 16:
  54.         return(GrPlaneSize(w,h) << 2);
  55.       case 256:
  56.         if(_GrDriverIndex == MODE_X_DRIVER)
  57.         return(GrPlaneSize(w,h) << 2);
  58.       default:
  59.         return(GrPlaneSize(w,h));
  60.     }
  61. }
  62.  
  63.